7.2.2 Tabellen mit Attributen – NOT NULL
Neben dem Datentypen können in der CREATE TABLE
-Anweisung verschiedene
Spalteneigenschaften – sogenannte Spalten-Constraints – festgelegt werden.
Bevor der Begriff näher erläutert wird, wollen wir uns
- das
NOT NULL
-Constraint - sowie das
DEFAULT
-Constraint
ansehen.
Es soll nun verhindert werden, dass eine Postleitzahl ohne den dazugehörigen Ort oder ein
Ort mit fehlender Postleitzahl angegeben werden kann. So etwas macht wenig Sinn und darf in unserer
Datenbank nicht vorkommen.
Dazu kann in der CREATE TABLE
-Anweisung angegeben
werden, ob ein Attribut NULL
-Werte speichern darf oder nicht. Nullwert bedeutet dabei,
dass keine Werteingabe erfolgt.
Generell existieren zwei mögliche Angaben für diesen Fall:
NULL
die Zelle darf leer seinNOT NULL
die Zelle darf nicht leer sein
Um o.g. Bedingung zu erfüllen muss das Beispiel aus dem vorherigen Abschnitt wie folgt ergänzt werden:
CREATE TABLE ort ( plz CHAR(5) NOT NULL, ort VARCHAR(50) NOT NULL, vorwahl VARCHAR(12) NULL )
Hinter der Deklaration der Attribute und deren Datentypen erscheinen die beiden Schlüsselwörter
NOT NULL
und damit ist es nicht mehr möglich den Spalten den NULL
-Wert
zu zuweisen. Sollte der NULL
-Wert dennoch zugewiesen werden, liefert das System eine
Fehlermeldung.
Die beiden Anweisungen in diesem ersten Abschnitt sollten zum besseren Verständnis in phpMyAdmin erstellt werden. Zum Experimentieren kann auch eine andere beliebige Tabelle erstellt werden. Überlegen Sie dabei immer genau, welchen Datentyp Sie für die Spalten wählen.
In den folgenden Unterabschnitten werden Sie weitere Feinheiten bei der Erzeugung einer Datenbanktabelle behandeln, auf die man achten sollte. Jeder dieser Abschnitte behandelt ein SQL-Schlüsselwort und erklärt die Besonderheiten.